package cxydmmszl.chapter01.t005;

import java.util.Stack;

/**
 * @author habitplus
 * @since 2021-08-20 22:37
 */
public class Main {
    public static void sortStackByStack(Stack<Integer> stack) {
        Stack<Integer> assist = new Stack<>();
        int curNum;
        while (!stack.isEmpty()) {
            curNum = stack.pop();
            // 保证 assist 中的元素从顶到底为升序（从小到大）
            while(!assist.isEmpty() && assist.peek() < curNum) {
                stack.push(assist.pop());
            }

            assist.push(curNum);
        }

        // 最后将 assist 的元素出栈到 stack 中
        while (!assist.isEmpty()) {
            stack.push(assist.pop());
        }
    }
}
